package vg.services.graph_view_manager.interfaces.graph_view;

import java.util.Map;

import javax.swing.JComponent;

import org.apache.commons.lang.mutable.MutableBoolean;

import vg.services.data_base_manager.data.graph.Attribute;
import vg.services.data_base_manager.data.graph.Graph;

public interface IGraphInformation {
//=============================================================================
//-----------------Methods for getting information about graph elements--------
	/**
	 * This method returns attributes of selected vertexes.
	 */
	public Map<Attribute, MutableBoolean> getSelectionVertexAttributes();

	/**
	 * This method sets attributes of selected vertexes.
	 */
	public Map<Attribute, MutableBoolean> getSelectionEdgeAttributes();

	/**
	 * This method returns all graph.
	 */
	public Graph getGraph();

	/**
	 * This methods returns selection subgraph.
	 */
	public Graph getSelectionSubGraph();
		
//=============================================================================
//-----------------Methods for getting different views-------------------------
	/**
	 * Methods return component which represent minimap of current graph
	 */
	JComponent getMiniMap();

	//public int getGraphId();
	//public int getSubGraphId();
}
